package com.tcs.service;

import java.util.List;

import com.tcs.model.Permission;
import com.tcs.model.User;

public interface UserService {

	/**
	 * Funcion que permite hacer el login de usuarios al sistema
	 * 
	 * @param username
	 * @param password
	 * @return
	 */
	public User login(String username, String password);

	/**
	 * Funcion que permite agregar un usuario al sistema
	 * 
	 * @param user
	 */
	public void addUser(User user);

	/**
	 * Funcion que retorna una lista de permisos
	 * 
	 * @return
	 */

	public List<Permission> listPermissions();

	/**
	 * Funcion que devuelve un permiso
	 * 
	 * @param ID
	 * @return
	 */
	public Permission getPermission(int ID);

	/**
	 * Funcion que devuelve un listado de usuarios
	 * 
	 * @return
	 */
	public List<User> listUsers();

	/**
	 * Funcion que devuelve un Objeto tipo User 
	 * @param id
	 * @return User
	 */
	
	public User getUser(int id);

}
